home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / taropyon / guilib3 / inc / fslib.h < prev    next >
C/C++ Source or Header  |  1993-11-30  |  6KB  |  168 lines

  1. /*    :*****************************************************************
  2.     :    "fslib.h"    :    system“Pride”ファイルシステム・ライブラリ
  3.     :*****************************************************************
  4. */
  5. #ifndef    _FSLIB_H
  6. #define    _FSLIB_H
  7.  
  8. #ifndef    _SPLIB_H
  9. #    include    "splib.h"
  10. #endif
  11. #ifndef    _GUIDEFS_H
  12. #    include    "guidefs.h"
  13. #endif
  14. #ifndef    _FSWILD_H
  15. #    include    "fswild.h"
  16. #endif
  17.  
  18. #ifndef    FAR
  19. #    define    FAR    _far
  20. #endif
  21.  
  22. #define    FS_FLEN            (128)
  23. #define    FS_WILD_LEN        (12)
  24.  
  25. typedef    struct    _WCBUF
  26. {    struct    _WCBUF        *next;
  27.     SHORT                no;        /* ソートなし用の番号            */
  28.     char                flag;    /* 選択されたファイルの識別用    */
  29.     char                mark;
  30.     UCHAR                att;
  31.     USHORT                time,date;
  32.     size_t                size;
  33.     char                name[14];
  34. } WCBUF_T;
  35. #define    WCBUF    WCBUF_T
  36.  
  37. #define    FSATT_DIR    (0x10)
  38. #define    FSATT_VOL    (0x08)
  39. #define    FSATT_SYS    (0x04)
  40. #define    FSATT_ARC    (0x02)
  41. #define    FSATT_RO    (0x01)
  42.  
  43. extern    int        FS_dos_err_chk(void);
  44. extern    int        FS_chdrv(int drv);
  45. extern    int        FS_rename(CONST char *old, CONST char *new);
  46. extern    int        FS_remove(CONST char *name);
  47. extern    int        FS_mkdir(CONST char *name);
  48. extern    int        FS_rmdir(CONST char *name);
  49. extern    int        FS_chdir(CONST char *name);
  50. extern    int        FS_getdrv(void);
  51. extern    int        FS_getdir(char *name);
  52. extern    int        FS_getdir2( char *name );
  53. extern    int        FS_get_dskFree( int drv, int *totalFree, int *writeFree);
  54. extern    int        FS_getDskVolume( int drv, char *vol );
  55. extern    void    FS_getswchar(void);
  56.  
  57. /*    "fslib01.c"    ----------------------------------------------------*/
  58. extern    int        FS_pathSearch( CONST char *pathname, int att, WCBUF *wp );
  59.  
  60. /*    "fslib02.c"    ----------------------------------------------------*/
  61. extern    int        FS_searchWildCard( CONST char *s );
  62.  
  63. /*    "fslib03.c"    ----------------------------------------------------*/
  64. extern    int        FS_getFnamPath( char *filename, CONST char *pathname );
  65.  
  66. /*    "fslib04.c"    ----------------------------------------------------*/
  67. extern    void    FS_getDnamPath( char *directory, CONST char *pathname );
  68.  
  69. /*    "fslib05.c"    ----------------------------------------------------*/
  70. extern    int        FS_patmatch( char *arg, char *nam );
  71.  
  72. /*    "fslib06.c"    ----------------------------------------------------*/
  73. extern    char    *FS_getFnam( char *fnam, CONST char *filename );    /* ファイル名だけ取り出す    */
  74. extern    char    *FS_getSnam( char *snam, CONST char *filename );    /* 拡張子を取り出す    */
  75.  
  76. /*    "fslib07.c"    ----------------------------------------------------*/
  77. extern    char    *FS_getDnam( char *dir, char *sfam );
  78.  
  79. /*    "fslib08.c"    ----------------------------------------------------*/
  80. extern    int        FS_argSet( CONST char *s, char **argv[] );
  81. extern    void    FS_argClear( int argc, char **argv );
  82.  
  83. /*    "fslib09.c"    ----------------------------------------------------*/
  84. #define    FSPARA_MAX            (256)    /* 最大256 個のパラメータが指定可能    */
  85. #define    FSPARA_ERR            (1)
  86. #define    FSPARA_IO_ERR        (2)
  87. #define    FSPARA_ALLOC_ERR    (3)
  88. #define    FSPARA_OVER_ERR        (4)
  89.  
  90. extern    int        FS_paraSet( int argc, char *argv[], char **arg[], void (*func)() );
  91.  
  92. /*    "fslib10.c"    ----------------------------------------------------*/
  93. extern    int        FS_getWnamPath( char *filename, char *pathname );
  94.  
  95. /*    "fslib11.c"    ----------------------------------------------------*/
  96. #ifdef    _FSLIB_HOMEPATH
  97.             char    HomePath[128];
  98. #else
  99.     extern    char    HomePath[128];
  100. #endif
  101. extern    int        FS_setHomePath( char *home, CONST char *evt );
  102.  
  103. /*    "fslib12.c"    ----------------------------------------------------*/
  104. #ifdef    _FSLIB_STARTPATH
  105.             char    StartPath[128];
  106. #else
  107.     extern    char    StartPath[128];
  108. #endif
  109. extern    int        FS_setStartPath( char *start, CONST char *cmd);
  110.  
  111. /*    "fslib13.c"        ------------------------------------------------*/
  112. extern    WCBUF    *FS_wc_read( CONST char *arg, int mode);
  113. extern    void    FS_wc_del( REG WCBUF *wp );
  114.  
  115. /*    "fslib14.c"        ------------------------------------------------*/
  116. extern    int        FS_saveCrtDir(void);
  117. extern    int        FS_loadCrtAll(void);
  118. extern    void    FS_clearCrtData(void);
  119.  
  120. /*    "fslib15.c"        ------------------------------------------------*/
  121. extern    int        FS_setFullPathName( char *pathname, CONST char *filename );
  122.  
  123. /*    "fslib16.c"        ------------------------------------------------*/
  124. extern    void    FS_appendSnam( char *df, CONST char *ef, CONST char *sub );
  125.  
  126. /*    "isfexist.c"    ------------------------------------------------*/
  127. extern    int        FS_isFileExist(CONST char *fn);
  128. #define    FS_EXIST_NOTHING    (0)
  129. #define    FS_EXIST_FILE        (1)
  130. #define    FS_EXIST_DIR        (2)
  131.  
  132. /*    "fsgetdta.c"    ------------------------------------------------*/
  133. extern    int        FS_getDta( FAR void **dta );
  134.  
  135. /*    "fssetdta.c"    ------------------------------------------------*/
  136. extern    int        FS_setDta( FAR void *dta );
  137.  
  138. /*    "fsisdel.c"        ------------------------------------------------*/
  139. extern    int        FsDosDelim;
  140. extern    int        FsPathDelim;
  141. extern    int        FS_isdelim( int ch );
  142. #define    FS_ISDELIM(ch)    ((ch)==FsDosDelim||(ch)==FsPathDelim)
  143.  
  144. /*    "fsdos2ux.c"    ------------------------------------------------*/
  145. extern    void    FS_dos2unix( char *unix, CONST char *dos);
  146.  
  147. /*    "fsux2dos.c"    ------------------------------------------------*/
  148. extern    void    FS_unix2dos( char *dos, CONST char *unix);
  149.  
  150. /*    "fsfopen.c"    ------------------------------------------------*/
  151. extern    void    *FS_fopen( CONST char *fnam, CONST char *md);
  152. extern    int        FS_fclose( void *fp);
  153.  
  154. /*    "fspush.c"        ------------------------------------------------*/
  155. extern    char    *FS_pushDir(void);
  156. extern    int        FS_popDir( char *dir );
  157.  
  158. /*    "fscmpfn.c"        ------------------------------------------------*/
  159. extern    int        FS_cmpfnam( CONST char *s1, CONST char *s2 );    /* ファイル名を比較する    */
  160.  
  161. /*    "fsstrlwr.c"        ------------------------------------------------*/
  162. extern    void    FS_strlwr( char *s );    /* 文字列中のアルファベット(ANK)を小文字にする    */
  163.  
  164. /*    "fsstrupr.c"        ------------------------------------------------*/
  165. extern    void    FS_strupr( char *s );    /* 文字列中のアルファベット(ANK)を大文字にする    */
  166.  
  167. #endif
  168.